基于SMP 運(yùn)動(dòng)控制內(nèi)核的機(jī)器人控制系統(tǒng)
2014/1/21 11:26:10
1 引言
隨著現(xiàn)代工業(yè)的迅速發(fā)展, 普通的人工勞動(dòng)力已經(jīng)不適合強(qiáng)度高、環(huán)境惡劣的工作要求。而隨著機(jī)器人制造水平的提高, 具有高效率、質(zhì)量穩(wěn)定、通用性強(qiáng)的機(jī)器人已經(jīng)受到越來(lái)越多的青睞, 并被廣泛應(yīng)用到柔性制造生產(chǎn)線(xiàn)上。目前, 工業(yè)生產(chǎn)中的搬運(yùn)、焊接、噴涂等繁重工作已經(jīng)逐漸被機(jī)器人所取代, 此外, 特種機(jī)器人在深海探測(cè)、消防救災(zāi)等領(lǐng)域也得到應(yīng)用[1]。早在20 世紀(jì)70 年代, 國(guó)外一些工業(yè)發(fā)達(dá)國(guó)家的機(jī)器人就進(jìn)入了實(shí)用化的階段。經(jīng)過(guò)30 多年的研究應(yīng)用與改進(jìn), 目前無(wú)論在技術(shù)水平方面還是裝備數(shù)量上, 以日本和德國(guó)為代表的少數(shù)幾個(gè)工業(yè)發(fā)達(dá)國(guó)家都具有絕對(duì)的優(yōu)勢(shì)[1]。如瑞典的ABB、日本的川崎重工、德國(guó)的KUKA等。我國(guó)“863” 計(jì)劃已經(jīng)將機(jī)器人的研究列入其中,開(kāi)發(fā)具有良好穩(wěn)定性和實(shí)用性的機(jī)器人也得到了企業(yè)的廣泛重視。本文主要介紹一種基于SMP 純軟件運(yùn)動(dòng)控制內(nèi)核的機(jī)器人控制系統(tǒng)以及它在焊接方面的實(shí)際應(yīng)用。
2 系統(tǒng)總體結(jié)構(gòu)
SMP 系統(tǒng)是美國(guó)Soft ServoSystem 公司研發(fā)的基于PC 的純軟件運(yùn)動(dòng)控制內(nèi)核。SMP 軟件運(yùn)行在裝有Ardence's RTX 的Windows 系統(tǒng)下, 通過(guò)主計(jì)算機(jī)的CPU 運(yùn)行實(shí)時(shí)運(yùn)動(dòng)引擎, 具有閉環(huán)反饋、多軸插補(bǔ)、運(yùn)動(dòng)程序處理和PLC 邏輯運(yùn)算功能??纱钆銿ersioBus 光纖、Panasonic RTEX、Yaskawa MECHATROLINK、Mitsubishi SSCNET 和FXI-40等多種伺服通訊網(wǎng)絡(luò)[2]。本機(jī)器人控制系統(tǒng)選用FPA-200適配卡與松下A4N 系列伺服系統(tǒng)構(gòu)建系統(tǒng)的通訊平臺(tái)。
2.1 系統(tǒng)整體結(jié)構(gòu)
SMP 系統(tǒng)運(yùn)行環(huán)境為Windows2000 /XP, 硬件上使用普通PC 或者性能更加穩(wěn)定的IPC, 高速的CPU 內(nèi)核承擔(dān)純軟件方式的運(yùn)動(dòng)插補(bǔ)和PLC 運(yùn)算, 并通過(guò)標(biāo)準(zhǔn)的PCI 插槽與FPA-200 建立總線(xiàn)通信, 經(jīng)由FPA-200 適配卡上面的網(wǎng)絡(luò)接口和光纖接口直接與A4N 伺服驅(qū)動(dòng)及I /O 進(jìn)行連接。利用CPU 進(jìn)行純軟件運(yùn)算, 節(jié)省了獨(dú)立的運(yùn)動(dòng)控制卡和PLC 設(shè)備, 有效地降低了硬件成本。通過(guò)FPA-200 的光纖接口, 可進(jìn)一步擴(kuò)展I /O 模塊, 增加外圍設(shè)備輔助功能。整體結(jié)構(gòu)圖如圖1 所示。
2.2 SMP 軟件結(jié)構(gòu)
SMP 軟件的底層模塊包含三個(gè)可升級(jí)的實(shí)時(shí)引擎:PLC 引擎、SMP 引擎和SMP 運(yùn)動(dòng)解析器, 三個(gè)引擎相互循環(huán)配合完成運(yùn)動(dòng)控制的運(yùn)算。CPU 給予底層模塊最高優(yōu)先級(jí)待遇。SMP 的上層模塊則用于執(zhí)行SMP 控制器, 如程序的加載、參數(shù)的設(shè)定、文件的管理和用戶(hù)界面的運(yùn)行。利用Ardence RTX 對(duì)Windows 進(jìn)行實(shí)時(shí)性擴(kuò)展, SMP Real-Time DLL 中間鏈接層使上層模塊的應(yīng)用程序可實(shí)時(shí)調(diào)用和讀取底層模塊的運(yùn)動(dòng)引擎數(shù)據(jù)和系統(tǒng)狀態(tài)信息[2]。
3 機(jī)器人硬件構(gòu)成
機(jī)器人的硬件結(jié)構(gòu)由四個(gè)部分組成: 工業(yè)計(jì)算機(jī)和觸摸屏顯示示教盒、FPA-200 RTEX 網(wǎng)絡(luò)適配卡、松下A4N電機(jī)及伺服驅(qū)動(dòng)器和機(jī)器人本體。
工業(yè)計(jì)算機(jī)是系統(tǒng)運(yùn)行的硬件基礎(chǔ), 示教盒的應(yīng)用軟件界面直接面向?qū)ο蟛僮鳌PA-200 通過(guò)IPC 上的標(biāo)準(zhǔn)PCI 插槽與主機(jī)建立總線(xiàn)通信, 適配卡的工作電源同樣由PCI 總線(xiàn)提供。FPA-200 上RX、TX 兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)接口, 利用100Mbit /s 的以太網(wǎng)絡(luò)將關(guān)節(jié)伺服驅(qū)動(dòng)串聯(lián)起來(lái), 并以0.5~1ms 的周期速度對(duì)六個(gè)關(guān)節(jié)伺服驅(qū)動(dòng)實(shí)行高速循環(huán)控制和可編程加減速控制[3]。系統(tǒng)通訊具有極高的響應(yīng)性和穩(wěn)定性。
伺服電機(jī)直接安裝在機(jī)器人關(guān)節(jié)上, 從機(jī)械內(nèi)部走線(xiàn)。在機(jī)器人底部用標(biāo)準(zhǔn)航空插頭與伺服驅(qū)動(dòng)連接。A4N 伺服驅(qū)動(dòng)上的X5 接口提供了豐富的I /O接點(diǎn), 通過(guò)PLC 編程, 由X5 接口上的I /O 點(diǎn)完成對(duì)焊槍能設(shè)備的控制, 如圖3 所示。
本系統(tǒng)采用的SMP-850 可實(shí)現(xiàn)8 軸插補(bǔ)聯(lián)動(dòng)控制。通過(guò)FPA-200 的VersioBus 光纖接口擴(kuò)展IM-300 I /O 模塊,最多可增加到416 輸入輸出點(diǎn)。
4 應(yīng)用軟件開(kāi)發(fā)
SMP 系統(tǒng)提供了應(yīng)用于Visual C++、Visual Basic 和Java 的應(yīng)用軟件庫(kù)接口、MAPI 源代碼和對(duì)引擎內(nèi)核的實(shí)時(shí)調(diào)用DLL 文件。強(qiáng)大的MDK 二次開(kāi)發(fā)軟件包可方便用戶(hù)根據(jù)操作習(xí)慣和實(shí)際需要開(kāi)發(fā)自己的應(yīng)用軟件。本文介紹的機(jī)器人控制系統(tǒng)選用Visual Basic 軟件作為開(kāi)發(fā)環(huán)境。
4.1 軟件開(kāi)發(fā)流程
應(yīng)用軟件的運(yùn)行首先要實(shí)現(xiàn)對(duì)SMP 系統(tǒng)的初始化和RTX 引擎的啟動(dòng)。SMP 系統(tǒng)的初始化包括SMP 設(shè)備打開(kāi)和系統(tǒng)參數(shù)加載。系統(tǒng)初始化和RTX 引擎啟動(dòng)成功后, 設(shè)置系統(tǒng)操作模式, 打開(kāi)中斷循環(huán)并與遠(yuǎn)程設(shè)備建立通訊。程序主循環(huán)過(guò)程中斷狀態(tài)正常時(shí), 打開(kāi)PLC 引擎并使伺服電機(jī)。在不同操作模式下, 根據(jù)實(shí)際需用編寫(xiě)界面操作程序。軟件編寫(xiě)過(guò)程中, 通過(guò)MDK 二次開(kāi)發(fā)包提供的MAPI 調(diào)用語(yǔ)句和動(dòng)態(tài)鏈接文件DLL, 可實(shí)時(shí)讀取界面操作所需要的引擎狀態(tài)和系統(tǒng)信息。
4.2 示教操作界面
手動(dòng)示教模式的功能是讓操作人員記錄機(jī)器人位置姿態(tài)并生成焊接軌跡。在機(jī)器人的實(shí)際應(yīng)用中, 需要操作人員在手動(dòng)操作模式下移動(dòng)機(jī)器人關(guān)節(jié)使焊槍末端始終沿著規(guī)定的焊接軌跡移動(dòng), 然后在示教模式下記錄運(yùn)動(dòng)過(guò)程中的關(guān)鍵位置點(diǎn), 并根據(jù)焊接的要求插入打開(kāi)焊槍、關(guān)閉焊槍、輸入焊接速度、暫停等功能指令, 最后保存軌跡生成可再現(xiàn)的示教程序[4]。程序中對(duì)焊槍的控制是將M 指令進(jìn)行譯碼后, 交給PLC 引擎運(yùn)算, 并通過(guò)PLC 輸出點(diǎn)控制焊槍的開(kāi)始點(diǎn)和結(jié)束點(diǎn)。示教功能界面如圖5 所示。在自動(dòng)運(yùn)行界面下, 操作者可重復(fù)調(diào)用保存好的示教軌跡程序, 控制機(jī)器人運(yùn)動(dòng), 完成焊接。
5 結(jié)束語(yǔ)
本文介紹的基于PC 機(jī)和Windows 系統(tǒng)的機(jī)器人控制系統(tǒng)具有運(yùn)行穩(wěn)定、系統(tǒng)內(nèi)核升級(jí)方便、應(yīng)用軟件開(kāi)發(fā)周期短、界面友好等優(yōu)點(diǎn)。本系統(tǒng)實(shí)現(xiàn)了對(duì)6 個(gè)自由度機(jī)器人的聯(lián)動(dòng)控制, 完成了示教編程、參數(shù)設(shè)定, 自動(dòng)運(yùn)行等功能模塊的編程。搭配松下A4N 系列伺服和廣東伺博科NBC-350 二氧化碳?xì)獗:笝C(jī), 在實(shí)際的焊接應(yīng)用中取得了良好的效果。通過(guò)對(duì)焊接速度和焊接電流, 電壓等參數(shù)的調(diào)節(jié), 焊接質(zhì)量達(dá)到了技術(shù)要求, 軌跡準(zhǔn)確, 焊縫平滑。接下去, 機(jī)器人系統(tǒng)的進(jìn)一步研究工作將主要在以下兩個(gè)方面:
(1) 深入研究機(jī)器人運(yùn)動(dòng)的速度前饋和加減速算法,提高機(jī)器人在高速運(yùn)動(dòng)下的定位精度, 減少振動(dòng), 保證機(jī)器人運(yùn)動(dòng)的平穩(wěn)性;
(2) 建立機(jī)器人三維模型, 研究機(jī)器人逆運(yùn)動(dòng)學(xué)算法, 規(guī)劃?rùn)C(jī)器人的空間運(yùn)動(dòng)軌跡, 編寫(xiě)離線(xiàn)編程加工程序。
隨著現(xiàn)代工業(yè)的迅速發(fā)展, 普通的人工勞動(dòng)力已經(jīng)不適合強(qiáng)度高、環(huán)境惡劣的工作要求。而隨著機(jī)器人制造水平的提高, 具有高效率、質(zhì)量穩(wěn)定、通用性強(qiáng)的機(jī)器人已經(jīng)受到越來(lái)越多的青睞, 并被廣泛應(yīng)用到柔性制造生產(chǎn)線(xiàn)上。目前, 工業(yè)生產(chǎn)中的搬運(yùn)、焊接、噴涂等繁重工作已經(jīng)逐漸被機(jī)器人所取代, 此外, 特種機(jī)器人在深海探測(cè)、消防救災(zāi)等領(lǐng)域也得到應(yīng)用[1]。早在20 世紀(jì)70 年代, 國(guó)外一些工業(yè)發(fā)達(dá)國(guó)家的機(jī)器人就進(jìn)入了實(shí)用化的階段。經(jīng)過(guò)30 多年的研究應(yīng)用與改進(jìn), 目前無(wú)論在技術(shù)水平方面還是裝備數(shù)量上, 以日本和德國(guó)為代表的少數(shù)幾個(gè)工業(yè)發(fā)達(dá)國(guó)家都具有絕對(duì)的優(yōu)勢(shì)[1]。如瑞典的ABB、日本的川崎重工、德國(guó)的KUKA等。我國(guó)“863” 計(jì)劃已經(jīng)將機(jī)器人的研究列入其中,開(kāi)發(fā)具有良好穩(wěn)定性和實(shí)用性的機(jī)器人也得到了企業(yè)的廣泛重視。本文主要介紹一種基于SMP 純軟件運(yùn)動(dòng)控制內(nèi)核的機(jī)器人控制系統(tǒng)以及它在焊接方面的實(shí)際應(yīng)用。
2 系統(tǒng)總體結(jié)構(gòu)
SMP 系統(tǒng)是美國(guó)Soft ServoSystem 公司研發(fā)的基于PC 的純軟件運(yùn)動(dòng)控制內(nèi)核。SMP 軟件運(yùn)行在裝有Ardence's RTX 的Windows 系統(tǒng)下, 通過(guò)主計(jì)算機(jī)的CPU 運(yùn)行實(shí)時(shí)運(yùn)動(dòng)引擎, 具有閉環(huán)反饋、多軸插補(bǔ)、運(yùn)動(dòng)程序處理和PLC 邏輯運(yùn)算功能??纱钆銿ersioBus 光纖、Panasonic RTEX、Yaskawa MECHATROLINK、Mitsubishi SSCNET 和FXI-40等多種伺服通訊網(wǎng)絡(luò)[2]。本機(jī)器人控制系統(tǒng)選用FPA-200適配卡與松下A4N 系列伺服系統(tǒng)構(gòu)建系統(tǒng)的通訊平臺(tái)。
2.1 系統(tǒng)整體結(jié)構(gòu)
SMP 系統(tǒng)運(yùn)行環(huán)境為Windows2000 /XP, 硬件上使用普通PC 或者性能更加穩(wěn)定的IPC, 高速的CPU 內(nèi)核承擔(dān)純軟件方式的運(yùn)動(dòng)插補(bǔ)和PLC 運(yùn)算, 并通過(guò)標(biāo)準(zhǔn)的PCI 插槽與FPA-200 建立總線(xiàn)通信, 經(jīng)由FPA-200 適配卡上面的網(wǎng)絡(luò)接口和光纖接口直接與A4N 伺服驅(qū)動(dòng)及I /O 進(jìn)行連接。利用CPU 進(jìn)行純軟件運(yùn)算, 節(jié)省了獨(dú)立的運(yùn)動(dòng)控制卡和PLC 設(shè)備, 有效地降低了硬件成本。通過(guò)FPA-200 的光纖接口, 可進(jìn)一步擴(kuò)展I /O 模塊, 增加外圍設(shè)備輔助功能。整體結(jié)構(gòu)圖如圖1 所示。
2.2 SMP 軟件結(jié)構(gòu)
SMP 軟件的底層模塊包含三個(gè)可升級(jí)的實(shí)時(shí)引擎:PLC 引擎、SMP 引擎和SMP 運(yùn)動(dòng)解析器, 三個(gè)引擎相互循環(huán)配合完成運(yùn)動(dòng)控制的運(yùn)算。CPU 給予底層模塊最高優(yōu)先級(jí)待遇。SMP 的上層模塊則用于執(zhí)行SMP 控制器, 如程序的加載、參數(shù)的設(shè)定、文件的管理和用戶(hù)界面的運(yùn)行。利用Ardence RTX 對(duì)Windows 進(jìn)行實(shí)時(shí)性擴(kuò)展, SMP Real-Time DLL 中間鏈接層使上層模塊的應(yīng)用程序可實(shí)時(shí)調(diào)用和讀取底層模塊的運(yùn)動(dòng)引擎數(shù)據(jù)和系統(tǒng)狀態(tài)信息[2]。
3 機(jī)器人硬件構(gòu)成
機(jī)器人的硬件結(jié)構(gòu)由四個(gè)部分組成: 工業(yè)計(jì)算機(jī)和觸摸屏顯示示教盒、FPA-200 RTEX 網(wǎng)絡(luò)適配卡、松下A4N電機(jī)及伺服驅(qū)動(dòng)器和機(jī)器人本體。
工業(yè)計(jì)算機(jī)是系統(tǒng)運(yùn)行的硬件基礎(chǔ), 示教盒的應(yīng)用軟件界面直接面向?qū)ο蟛僮鳌PA-200 通過(guò)IPC 上的標(biāo)準(zhǔn)PCI 插槽與主機(jī)建立總線(xiàn)通信, 適配卡的工作電源同樣由PCI 總線(xiàn)提供。FPA-200 上RX、TX 兩個(gè)網(wǎng)絡(luò)結(jié)構(gòu)接口, 利用100Mbit /s 的以太網(wǎng)絡(luò)將關(guān)節(jié)伺服驅(qū)動(dòng)串聯(lián)起來(lái), 并以0.5~1ms 的周期速度對(duì)六個(gè)關(guān)節(jié)伺服驅(qū)動(dòng)實(shí)行高速循環(huán)控制和可編程加減速控制[3]。系統(tǒng)通訊具有極高的響應(yīng)性和穩(wěn)定性。
伺服電機(jī)直接安裝在機(jī)器人關(guān)節(jié)上, 從機(jī)械內(nèi)部走線(xiàn)。在機(jī)器人底部用標(biāo)準(zhǔn)航空插頭與伺服驅(qū)動(dòng)連接。A4N 伺服驅(qū)動(dòng)上的X5 接口提供了豐富的I /O接點(diǎn), 通過(guò)PLC 編程, 由X5 接口上的I /O 點(diǎn)完成對(duì)焊槍能設(shè)備的控制, 如圖3 所示。
本系統(tǒng)采用的SMP-850 可實(shí)現(xiàn)8 軸插補(bǔ)聯(lián)動(dòng)控制。通過(guò)FPA-200 的VersioBus 光纖接口擴(kuò)展IM-300 I /O 模塊,最多可增加到416 輸入輸出點(diǎn)。
4 應(yīng)用軟件開(kāi)發(fā)
SMP 系統(tǒng)提供了應(yīng)用于Visual C++、Visual Basic 和Java 的應(yīng)用軟件庫(kù)接口、MAPI 源代碼和對(duì)引擎內(nèi)核的實(shí)時(shí)調(diào)用DLL 文件。強(qiáng)大的MDK 二次開(kāi)發(fā)軟件包可方便用戶(hù)根據(jù)操作習(xí)慣和實(shí)際需要開(kāi)發(fā)自己的應(yīng)用軟件。本文介紹的機(jī)器人控制系統(tǒng)選用Visual Basic 軟件作為開(kāi)發(fā)環(huán)境。
4.1 軟件開(kāi)發(fā)流程
應(yīng)用軟件的運(yùn)行首先要實(shí)現(xiàn)對(duì)SMP 系統(tǒng)的初始化和RTX 引擎的啟動(dòng)。SMP 系統(tǒng)的初始化包括SMP 設(shè)備打開(kāi)和系統(tǒng)參數(shù)加載。系統(tǒng)初始化和RTX 引擎啟動(dòng)成功后, 設(shè)置系統(tǒng)操作模式, 打開(kāi)中斷循環(huán)并與遠(yuǎn)程設(shè)備建立通訊。程序主循環(huán)過(guò)程中斷狀態(tài)正常時(shí), 打開(kāi)PLC 引擎并使伺服電機(jī)。在不同操作模式下, 根據(jù)實(shí)際需用編寫(xiě)界面操作程序。軟件編寫(xiě)過(guò)程中, 通過(guò)MDK 二次開(kāi)發(fā)包提供的MAPI 調(diào)用語(yǔ)句和動(dòng)態(tài)鏈接文件DLL, 可實(shí)時(shí)讀取界面操作所需要的引擎狀態(tài)和系統(tǒng)信息。
4.2 示教操作界面
手動(dòng)示教模式的功能是讓操作人員記錄機(jī)器人位置姿態(tài)并生成焊接軌跡。在機(jī)器人的實(shí)際應(yīng)用中, 需要操作人員在手動(dòng)操作模式下移動(dòng)機(jī)器人關(guān)節(jié)使焊槍末端始終沿著規(guī)定的焊接軌跡移動(dòng), 然后在示教模式下記錄運(yùn)動(dòng)過(guò)程中的關(guān)鍵位置點(diǎn), 并根據(jù)焊接的要求插入打開(kāi)焊槍、關(guān)閉焊槍、輸入焊接速度、暫停等功能指令, 最后保存軌跡生成可再現(xiàn)的示教程序[4]。程序中對(duì)焊槍的控制是將M 指令進(jìn)行譯碼后, 交給PLC 引擎運(yùn)算, 并通過(guò)PLC 輸出點(diǎn)控制焊槍的開(kāi)始點(diǎn)和結(jié)束點(diǎn)。示教功能界面如圖5 所示。在自動(dòng)運(yùn)行界面下, 操作者可重復(fù)調(diào)用保存好的示教軌跡程序, 控制機(jī)器人運(yùn)動(dòng), 完成焊接。
5 結(jié)束語(yǔ)
本文介紹的基于PC 機(jī)和Windows 系統(tǒng)的機(jī)器人控制系統(tǒng)具有運(yùn)行穩(wěn)定、系統(tǒng)內(nèi)核升級(jí)方便、應(yīng)用軟件開(kāi)發(fā)周期短、界面友好等優(yōu)點(diǎn)。本系統(tǒng)實(shí)現(xiàn)了對(duì)6 個(gè)自由度機(jī)器人的聯(lián)動(dòng)控制, 完成了示教編程、參數(shù)設(shè)定, 自動(dòng)運(yùn)行等功能模塊的編程。搭配松下A4N 系列伺服和廣東伺博科NBC-350 二氧化碳?xì)獗:笝C(jī), 在實(shí)際的焊接應(yīng)用中取得了良好的效果。通過(guò)對(duì)焊接速度和焊接電流, 電壓等參數(shù)的調(diào)節(jié), 焊接質(zhì)量達(dá)到了技術(shù)要求, 軌跡準(zhǔn)確, 焊縫平滑。接下去, 機(jī)器人系統(tǒng)的進(jìn)一步研究工作將主要在以下兩個(gè)方面:
(1) 深入研究機(jī)器人運(yùn)動(dòng)的速度前饋和加減速算法,提高機(jī)器人在高速運(yùn)動(dòng)下的定位精度, 減少振動(dòng), 保證機(jī)器人運(yùn)動(dòng)的平穩(wěn)性;
(2) 建立機(jī)器人三維模型, 研究機(jī)器人逆運(yùn)動(dòng)學(xué)算法, 規(guī)劃?rùn)C(jī)器人的空間運(yùn)動(dòng)軌跡, 編寫(xiě)離線(xiàn)編程加工程序。
提交
查看更多評(píng)論
其他資訊
工業(yè)機(jī)器人控制系統(tǒng)的開(kāi)放體系結(jié)構(gòu)
工業(yè)機(jī)器人離線(xiàn)編程及無(wú)碰撞路徑規(guī)劃系統(tǒng)的開(kāi)發(fā)研究
工業(yè)機(jī)器人手臂結(jié)構(gòu)的有限元分析與研究
工業(yè)機(jī)器人通用控制器研究開(kāi)發(fā)
工業(yè)機(jī)器人網(wǎng)絡(luò)控制與編程